1 Contextualização

O presente trabalho tem por finalidade apresentar os números de casos de covid utilizando dados geolocalizados e mapas interativos. O banco de dados utilizado é referente ao município de Sergipe e contém as informações de casos confirmados do vírus no mês de novembro de 2022. O código completo pode ser acessado no github.

2 Carregando os pacotes

library(tidyverse)
library(leaflet)
library(sf)  
library(knitr)
library(kableExtra)
library(htmltools)

3 Leitura e visualização do banco de dados

# lendo arquivo dados covid
dados<-read.csv("cases-brazil-cities-time_2022.csv")

# lendo dados de latitude e longitude das cidades brasileiras 
urlfile <- "https://raw.githubusercontent.com/kelvins/Municipios-Brasileiros/master/csv/municipios.csv"
cities_lat_lng <- read.csv(urlfile,encoding = "UTF-8")
library(rmarkdown)
paged_table(covid19)

4 Mapas do total de casos

map_cities <- leaflet(covid19) %>% 
  addTiles() %>%
  addMarkers(lat= covid19$latitude,
             lng= covid19$longitude,
             popup = paste0("<b>Cidade: </b>", covid19$nome,"<br>",
                            "<b>Total de Casos: </b>", covid19$t_newCases),
             group = "addMarkers",
             clusterOptions = markerClusterOptions())

map_cities
map_total_cases <- leaflet(covid19) %>% addTiles() %>%
  addProviderTiles(providers$CartoDB.Positron) %>% 
  addCircleMarkers(lat= covid19$latitude,
                   lng= covid19$longitude,
                   radius = ~sqrt(covid19$t_newCases),
                   fillOpacity = 0.5, 
                   stroke = F, 
                   popup = paste0("<b>Cidade: </b>", covid19$nome,"<br>",
                                  "<b>Casos Confirmados: </b>",  covid19$t_newCases),
                   label = covid19$nome)
map_total_cases 

5 Mapa de casos por 100 mil habitantes

#lendo shapefile de sergipe
se_sf <- st_read('SE_Municipios_2021.shp', quiet = T)



#unindo os dados de COVID-19 com as geometrias das cidades.
se_sf <- se_sf %>% filter(CD_MUN %in% covid19$ibgeID)
se_sf <- left_join(se_sf, covid19, by = c("CD_MUN" = "ibgeID"))

## define cores para cada conjunto numérico
pal <- colorNumeric(palette = "Reds", domain = se_sf$t_cases100)

# heatmap dos casos de covid-19, por 100 mil habitantes, em SE.
map_100k <- leaflet(se_sf %>% filter(!is.na(t_cases100), t_totalCases >0)) %>%
  addProviderTiles(providers$CartoDB.Positron) %>%
  addPolygons(data = se_sf,
              smoothFactor = 0.5,
              fillOpacity = 0.5,
              weight = 0.5,
              color = ~pal(t_cases100),
              opacity = 0.8,
              highlightOptions = highlightOptions(color = "black",
                                                  weight = 2,
                                                  bringToFront = TRUE),
              popup = ~paste0(sep = " ",
                              "<b>Cidade: </b>", nome, "<br>",
                              "<b>Total de casos: </b>", t_totalCases, "<br>",
                              "<b>Casos por 100k habitantes: </b>", t_cases100),
              label = ~nome) %>% 
  addLegend("bottomright",
            title = "Casos confirmados por<br>100k habitantes", 
            pal = pal, 
            values = ~t_cases100, 
            opacity = 0.8)
map_100k